diff --git a/system/database/drivers/mssql/mssql_result.php b/system/database/drivers/mssql/mssql_result.php
index 498deae..0ba0b8c 100644
--- a/system/database/drivers/mssql/mssql_result.php
+++ b/system/database/drivers/mssql/mssql_result.php
@@ -60,7 +60,7 @@
 	 * @access	public
 	 * @return	array
 	 */
-	function field_names()
+	function list_fields()
 	{
 		$field_names = array();
 		while ($field = mssql_fetch_field($this->result_id))
@@ -70,6 +70,12 @@
 		
 		return $field_names;
 	}
+	
+	// Deprecated
+	function field_names()
+	{
+		return $this->list_fields();
+	}
 
 	// --------------------------------------------------------------------
 
diff --git a/system/database/drivers/mysql/mysql_result.php b/system/database/drivers/mysql/mysql_result.php
index 3fdfc81..1cf6ff1 100644
--- a/system/database/drivers/mysql/mysql_result.php
+++ b/system/database/drivers/mysql/mysql_result.php
@@ -60,7 +60,7 @@
 	 * @access	public
 	 * @return	array
 	 */
-	function field_names()
+	function list_fields()
 	{
 		$field_names = array();
 		while ($field = mysql_fetch_field($this->result_id))
@@ -70,6 +70,12 @@
 		
 		return $field_names;
 	}
+	
+	// Deprecated
+	function field_names()
+	{
+		return $this->list_fields();
+	}
 
 	// --------------------------------------------------------------------
 
diff --git a/system/database/drivers/mysqli/mysqli_result.php b/system/database/drivers/mysqli/mysqli_result.php
index 08db13f..215403e 100644
--- a/system/database/drivers/mysqli/mysqli_result.php
+++ b/system/database/drivers/mysqli/mysqli_result.php
@@ -60,7 +60,7 @@
 	 * @access	public
 	 * @return	array
 	 */
-	function field_names()
+	function list_fields()
 	{
 		$field_names = array();
 		while ($field = mysql_fetch_field($this->result_id))
@@ -71,6 +71,12 @@
 		return $field_names;
 	}
 
+	// Deprecated
+	function field_names()
+	{
+		return $this->list_fields();
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
diff --git a/system/database/drivers/oci8/oci8_result.php b/system/database/drivers/oci8/oci8_result.php
index a3da800..ab13a39 100644
--- a/system/database/drivers/oci8/oci8_result.php
+++ b/system/database/drivers/oci8/oci8_result.php
@@ -84,7 +84,7 @@
 	 * @access	public
 	 * @return	array
 	 */
-	function field_names()
+	function list_fields()
 	{
 		$field_names = array();
         $fieldCount = $this->num_fields();
@@ -95,6 +95,12 @@
 		return $field_names;
 	}
 
+	// Deprecated
+	function field_names()
+	{
+		return $this->list_fields();
+	}
+
     // --------------------------------------------------------------------
 
     /**
diff --git a/system/database/drivers/odbc/odbc_result.php b/system/database/drivers/odbc/odbc_result.php
index 9204d86..ea834f9 100644
--- a/system/database/drivers/odbc/odbc_result.php
+++ b/system/database/drivers/odbc/odbc_result.php
@@ -60,7 +60,7 @@
 	 * @access	public
 	 * @return	array
 	 */
-	function field_names()
+	function list_fields()
 	{
 		$field_names = array();
 		for ($i = 0; $i < $this->num_fields(); $i++)
@@ -71,6 +71,12 @@
 		return $field_names;
 	}
 
+	// Deprecated
+	function field_names()
+	{
+		return $this->list_fields();
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
diff --git a/system/database/drivers/postgre/postgre_result.php b/system/database/drivers/postgre/postgre_result.php
index 8c25c5d..e792544 100644
--- a/system/database/drivers/postgre/postgre_result.php
+++ b/system/database/drivers/postgre/postgre_result.php
@@ -60,7 +60,7 @@
 	 * @access	public
 	 * @return	array
 	 */
-	function field_names()
+	function list_fields()
 	{
 		$field_names = array();
 		for ($i = 0; $i < $this->num_fields(); $i++)
@@ -71,6 +71,12 @@
 		return $field_names;
 	}
 
+	// Deprecated
+	function field_names()
+	{
+		return $this->list_fields();
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
diff --git a/system/database/drivers/sqlite/sqlite_result.php b/system/database/drivers/sqlite/sqlite_result.php
index a3e94b4..55364bb 100644
--- a/system/database/drivers/sqlite/sqlite_result.php
+++ b/system/database/drivers/sqlite/sqlite_result.php
@@ -60,7 +60,7 @@
 	 * @access	public
 	 * @return	array
 	 */
-	function field_names()
+	function list_fields()
 	{
 		$field_names = array();
 		for ($i = 0; $i < $this->num_fields(); $i++)
@@ -71,6 +71,12 @@
 		return $field_names;
 	}
 
+	// Deprecated
+	function field_names()
+	{
+		return $this->list_fields();
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
